import type { Page } from './commonTypes'

export type CouponListItem = {
  /** 券归属 */
  belong: string
  /** 码类型 */
  couponTypeName: string
  /** 折扣 */
  discount: number
  /** 金额 */
  discountAmount: number
  /** 有效结束时间 */
  endDate: string
  /** ID */
  id: number
  /** 优惠券名称 */
  name: string
  /** 有效开始时间 */
  startDate: string
  /**
   * 状态
   * - `0` 未生效
   * - `1` 已生效
   * - `2` 已过期
   */
  status: '0' | '1' | '2'
  /** 库存 */
  stock: number
}

export type GetCouponListRes = {
  dataList: Array<CouponListItem>
  page: Page
}

export type GetCouponDetailRes = {
  /** 券归属 */
  belong: number
  /** 码类型 */
  couponType: string
  /** 折扣 */
  discount: number
  /** 金额 */
  discountAmount: number
  /** 有效结束时间 */
  endDate: string
  /** 导入方式 */
  generateType: number
  /** ID */
  id: number
  /** 优惠券名称 */
  name: string
  /** 每人限用 */
  perPersonLimit: number
  /** 有效开始时间 */
  startDate: string
  /** 状态 */
  status: string
  /** 库存 */
  stock: number
}

export type UploadTemplateRes = {
  /** 导入失败 */
  failNum: number
  /** 下载文件路由 */
  path: string
  /** 批次序列号 */
  serialNumber: number
  /** 库存 */
  stock: number
  /** 导入成功 */
  successNum: number
}

export type CodeItem = {
  /** 更新时间 */
  deriveTime: string
  /** ID */
  id: number
  /** 码值 */
  name: string
  /** 状态 */
  status: number
  /** 下发用户 */
  user: string
}

export type GetCodeListRes = {
  dataList: Array<CodeItem>
  page: Page
}

export type GetExchangeListRes = Array<{
  id: number
  name: string
  stock: number
}>

export type GetSimpleListReq = {
  /**
   * 码类型
   * - `1` 签到券码
   * - `2` 拼团券码
   * - `3` 翻牌券码
   * - `4` 积分兑换券
   * - `5` 金豆兑好礼
   */
  type: 1 | 2 | 3 | 4 | 5
}

export type GetSimpleListRes = Array<{
  /** ID */
  id: number
  /** 名称 */
  name: string
  /** 库存 */
  stock: number
}>
